Make longtask WPT layouttests less flaky This CL improves tests in external/wpt/longtask-timing by: * Increasing the length of a longtask from ~51 to ~60 to prevent a coarse performance.now() granularity from affecting the tests. * Wrapping the long tasks or iframes containing longtasks inside onload handlers to ensure that the PerformanceObserver is registered by the time the longtask is executed. Test: third_party/blink/tools/run_web_tests external/wpt/longtask-timing --iterations=1000 did not produce flakes. Bug: 796668 Change-Id: Ic2ce59f7d221566f5443da9e9c7d36c7bd7bbe6f Reviewed-on: https://chromium-review.googlesource.com/1138725 Commit-Queue: Nicolás Peña Moreno <npm@chromium.org> Reviewed-by: Timothy Dresser <tdresser@chromium.org> Cr-Commit-Position: refs/heads/master@{#575396} 
diff --git a/longtask-timing/longtask-attributes.html b/longtask-timing/longtask-attributes.html index bd7e478..6af90cd 100644 --- a/longtask-timing/longtask-attributes.html +++ b/longtask-timing/longtask-attributes.html 
@@ -44,10 +44,11 @@  );  observer.observe({entryTypes: ['longtask']});   - /* Generate a slow task */ - const begin = window.performance.now(); - while (window.performance.now() < begin + 51); - + window.onload = () => { + /* Generate a slow task */ + const begin = window.performance.now(); + while (window.performance.now() < begin + 60); + };  }, 'Performance longtask entries are observable.');  </script>